var express = require('express');
var router = express.Router();

var {
  User,
  Mv
} = require('../utils/model'); //导入模块

var{
  checkSession
} = require('../utils');


// 首页
/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', {title:'首页', username:req.session.username }); //如果用户已登录,则欢迎界面
});

/* 
  显示ejs文件，必须配置路由， 执行render --渲染
*/

// res方法：render渲染   send()  json()  
// 登录页面
router.get('/login',(req,res)=>{
  let username = req.query.username || "";  //取前端传来的值(get)
  res.render('login',{username:username});
});

// 注册页面
router.get('/register',(req,res)=>{
  res.render('register',{ title:"注册页面"});
});

// 个人中心
router.get('/my',(req,res)=>{
  if(req.session.username){//判断登录状态
    User.findOne({
      username:req.session.username
    }).then(result=>{
      console.log(result);
      res.render('my',{result}); // key value相同，简写
    });
  }else{
    res.send(`<script>alert("你的登录已经失效，请重新登录！");location.href="/login"</script>`);
  }
});

// 电影列表页面
router.get('/movie',(req,res)=>{
  let query = req.query;//接收来自前端的数据
  console.log(query);

  let searchObj = {} //搜索条件
  let sortObj = {} //排序条件
  
  if(query['keyword']){//搜索
    var keyword = query['keyword'];
    searchObj = {//模糊搜索
      $or:[
        {title: new RegExp(keyword)},
        {year: new RegExp(keyword)},
        {genres: new RegExp(keyword)}
      ]
    }
  }else{//排序
    sortObj = query;
  }

  // 自动判断影虎是否登录
  checkSession(req,res,()=>{
    Mv.find(searchObj,{_id:0}) //查询数据
    .sort(sortObj)
    .then(result=>{
      res.render('movie',{result})
    })
  });
});

// 登录状态--销毁（注销）
router.get('/loginout',(req,res)=>{
  // 销毁req.session
  req.session.destroy(()=>{
    res.redirect('/');  //重定向主页
  });
}); 

// 重置密码页面
router.get('/resetpwd',(req,res)=>{
  if(req.session.username){//登录状态
    res.render('resetpwd',{username:req.session.username});
  }else{
    res.send(`<script>alert("你的登录已经失效，请重新登录！");location.href="/login"</script>`);
  }
});

// 聊天室
router.get('/chat',(req,res)=>{
  checkSession(req,res,()=>{
    res.render('chat');
  })
})

module.exports = router;
